package cn.meye11.crm.domain.query;

import cn.meye11.crm.common.Page;
import cn.meye11.crm.common.RegexUtils;
import lombok.*;

import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 充值记录表(RechargeRecord)查询类
 *
 * @author makejava
 * @since 2023-11-18 19:20:48
 */
@ToString(callSuper = true)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//@ApiModel("充值记录表")
public class RechargeRecordQuery extends Page implements Serializable {

    private static final long serialVersionUID = 382982042781438257L;

    /*
     * id(可以传入一组id，以逗号分隔)
     */
    @Pattern(regexp = RegexUtils.Type.ONLY_NUMBER_OR_EMPTY, message = "只能为数字以逗号分割")
    private String id;
    //@ApiModelProperty(value = "会员ID 精确查")
    private Long memberId;
    /* 会员名称 */
    private String memberName;
    //@ApiModelProperty(value = "操作人ID 精确查")
    private Long userId;
    //@ApiModelProperty(value = "充值金额 精确查")
    private Double amount;
    //@ApiModelProperty(value = "消费金额(赠送) 精确查")
    private Double giftAmount;
    //@ApiModelProperty(value = "充值方式 精确查")
    private String rechargeType;
    //@ApiModelProperty(value = "充值方式 模糊查")
    private String rechargeTypeLike;
    //@ApiModelProperty(value = "充值方式 在列表中 逗号分割")
    private String rechargeTypeIn;
    //@ApiModelProperty(value = "充值方式 不在列表中 逗号分割")
    private String rechargeTypeNotIn;
    //@ApiModelProperty(value = "充值时间 精确查")
    private Date rechargeTime;
    //@ApiModelProperty(value = "操作人姓名 模糊查")
    private String operators;
    private String operatorsLike;
    //@ApiModelProperty(value = "操作人姓名 在列表中 逗号分割")
    private String operatorsIn;
    //@ApiModelProperty(value = "操作人姓名 不在列表中 逗号分割")
    private String operatorsNotIn;
    //@ApiModelProperty(value = "客户画像标签 精确查")
    private String label;
    //@ApiModelProperty(value = "客户画像标签 模糊查")
    private String labelLike;
    //@ApiModelProperty(value = "客户画像标签 在列表中 逗号分割")
    private String labelIn;
    //@ApiModelProperty(value = "客户画像标签 不在列表中 逗号分割")
    private String labelNotIn;
    //@ApiModelProperty(value = "创建人 精确查")
    private String createdBy;
    //@ApiModelProperty(value = "创建人 模糊查")
    private String createdByLike;
    //@ApiModelProperty(value = "创建人 在列表中 逗号分割")
    private String createdByIn;
    //@ApiModelProperty(value = "创建人 不在列表中 逗号分割")
    private String createdByNotIn;
    //@ApiModelProperty(value = "最后修改人 精确查")
    private String modifiedBy;
    //@ApiModelProperty(value = "最后修改人 模糊查")
    private String modifiedByLike;
    //@ApiModelProperty(value = "最后修改人 在列表中 逗号分割")
    private String modifiedByIn;
    //@ApiModelProperty(value = "最后修改人 不在列表中 逗号分割")
    private String modifiedByNotIn;
    /*
     * 开始时间与结束时间
     */
    //@ApiModelProperty(value = "开始时间", notes = "yyyy-MM-dd HH:mm:ss", example = "2020-01-01 00:00:00")
    private LocalDateTime start;
    //@ApiModelProperty(value = "结束时间", notes = "yyyy-MM-dd HH:mm:ss", example = "2020-12-01 00:00:00")
    private LocalDateTime end;
}
